Email text checker system and method

ABSTRACT

A word processing tool is disclosed for checking the substance and not merely the spelling of words provided by a user. The word checker is capable of identifying potentially inappropriate word choices so that unintentional errors are not introduced into electronic text documents. The word checker can be implemented as a stand-alone procedure, or integrated into a conventional spell-checking program.

FIELD OF THE INVENTION

[0001] The present invention relates to authoring tools that can be usedin connection with contemporary word processing programs. In particular,the present invention provides an author of an electronically drafteddocument with a word checker that checks for and identifiesinappropriate word choices in such document based on a sensitivityscheme of the user's choosing so that such words may be modified ifnecessary.

BACKGROUND OF THE INVENTION

[0002] The prior art is replete with word processing programs, includinga couple of contemporary favorites, Microsoft WORD and Novell'sWordperfect, that are used by a substantial portion of IBM-compatiblecomputer users. These programs are used in known ways for permittingauthors to create electronic text (and graphics) documents. As a part ofsuch word processing program, a spell-checking routine is almost alwaysincluded to help authors reduce the number of unintentional text errorsin such documents. A number of prior art patents are directed to thisfeature, and a reasonable background of the same is described in U.S.Pat. Nos. 5,604,897 to Travis and U.S. Pat. No. 5,649,222 to Mogilevsky,both of which are hereby incorporated by reference.

[0003] It is apparent, however, that spell-checking routines associatedwith such word processing programs have a number of limitations. Keyamong these is the fact that they cannot determine whether a particularword choice, while accurately spelled, is nevertheless perhapsinappropriate for the particular context within a particular document.As an example, many words that may be intended by a drafter (such as thewords “ask,” “suit,” “public,” etc.) can be transformed into potentiallyoffensive words merely by changing a single letter in such words,transposing a few letters, or by mistakenly adding or dropping a letter.These transformed words, however, will still pass the spell-checkingfacility, because many of them include even a number of offensive wordsas part of their standard dictionary. For example, the word “ask” may beinadvertently written as “ass,” and unless the message is intended todiscuss issues pertaining to certain members of the animal kingdom, itis likely to be an inappropriate word choice. If these inadvertentmistakes are not caught by the drafter during a later review, they willbe included in such document and potentially communicated to one or morethird parties. Depending on the severity of the mistake, the receivingaudience, and the scope of the distribution of the document, theconsequences may range from minor embarassment to substantial financialloss from lost future business with such third party.

[0004] The possibility of such errors is increasing each day because ofa number of driving factors, including the fact that standarddictionaries for word processors are growing in size to accommodate thelargest number of words of course in a particular language. While onesolution may be to not include such words in an electronic dictionary inthe first place, this result makes the creation of such dictionariesmore complicated because an initial censoring must be done before thewords are even translated into electronic form. Moreover, this solutiondoes not help the user to identify inappropriate words that may beskipped over during a spell-checking routine.

[0005] Another factor leading to increase in electronic word choiceerrors is the fact that many electronic documents are never reduced to aphysical form before being disseminated. In many instances a glaringerror is caught by a human inspection of a printed page before it issent out. The so-called “paperless office” while improving efficiencyand reducing waste also naturally causes a larger number of inadvertentmessage errors in text documents. Additional errors can even be inducedby spell-checkers because when they detect a mis-spelled word, they willoften provide a menu of potential word choices as replacements, and itis remarkably easy to select an inappropriate word choice from suchmenu, again merely by accident. Such errors of course will not bedetected because the document is erroneously considered to be “safe” bymany users after spell-checking has completed and they will not check itagain. In other words, some facility for checking the spell-checkerdynamically is also desirable, but does not exist at this time.

[0006] There is some facility in the prior art for permitting users tocreate so-called “exclusion” dictionaries for analyzing text documents.An example of such kind of system is illustrated in U.S. Pat. No.5,437,036 to Stamps et. al. which is incorporated by reference herein. Adrawback of this approach, however, lies in the fact that it requiresthe user to both divine and manually input all the potentialmis-spellings that could occur, and even if they had the time, there areobviously an endless variety that might never be considered by suchuser. For example, a user may not have the foresight to notice that asimple transposing of two characters (a common error) may generate aword that is extremely offensive. Furthermore Stamps et. al. do notappear to contemplate the possibility that the act of rendering adocument “spelling” error free may itself generate unintended wordselection errors. As such, therefore, Stamps et. al. is not truly a“word” checker, but, rather, an enhanced spell checker that has beensensitized to a particular user's poor spelling habits. While itincidentally determines whether a word is perhaps not the intendedchoice of the author (i.e., that the word does not have a particularmeaning), it does not perform the important step of determining theprecise meaning of the word, and in particular whether the word also hasa potentially inappropriate meaning as well.

[0007] A few methods for proof-reading electronic documents are alsoknown in the art. A U.S. Pat. No. 4,674,065 to Lange et. al., alsoincorporated by reference herein, describes a technique for detectingword context errors in a document. This technique seems limited tohomophones however (for example, it knows to see if a user intended touse the word “course” instead of “coarse”) and is not generallyapplicable to the problem of determining inappropriate use of languagein documents. For example, unless a particularly offensive word has ahomonym, Lange et. al. would not even detect such word as being aproblem. The approach of Lange et. al. further requires a fair amount ofcomputational complexity, since it must analyze the text preceeding andfollowing after a word and use a complicates set of syntax rules todetermine whether the word is being used in context correctly. This factalone makes it essentially unusable for most contemporary wordprocessing programs which utilize background spell checking, dynamicspell-checking, etc.

[0008] Finally, a U.S. Pat. No. 4,456,973 to Cargren et al., and alsoincorporated by reference herein, discusses the use of an electronicword dictionary that has an associated code field for indicating thelevel of comprehensibility of such word. For example, the word “abandon”is coded with a numerical designation 6, indicating that the word isprobably understandable by children at the 6^(th) grade level. Cargrenet al., however, do not appear to address the more general problem ofidentifying text that has been inadvertently mis-spelled by an author,and which is likely to be inappropriate. In other words, the Cargren al.approach presumes that the user has correctly input the word inquestion, and unless the word is coded with a rating below that of theintended grade group of children, it is not flagged in anyway. It isapparent that this method of encoding is fairly impractical for use inan electronic dictionary intended to be used by an adult population,because adults are not classified in this way. In fact, if a targetaudience of a document is intended to be primarily adults, then theCarlgren et al. approach would not flag any words at all, because theywould probably be presumed to be operating at the highest level ofeducation (12), thus rendering this type of filtering essentiallyuseless. In addition, there is no facility mentioned by Cargren et al.for detecting words that are likely to be offensive, even if consciouslyselected by the author. For example, the use of the word “dame” may beconsciously selected but nevertheless undesirable in communications inwhich the intended audience is primarily adult women. A drafter of anelectronic document may desire to be notified of such potentiallyoffensive words if they are known to be sensitive.

SUMMARY OF THE INVENTION

[0009] An object of the present invention therefore is to reduce thenumber of unintentional inappropriate word choices within electronicdocuments that would otherwise go unnoticed using conventional wordprocessing document checking tools so as to improve the integrity andaccuracy of such documents;

[0010] Another object of the present invention is to provide a systemand method that is easily and seamlessly integratable into conventionalword processing document checking tools so as to enhance the performanceof such tools;

[0011] A related object of the present invention is to provide a systemand method for filtering and verifying the contents of one or moreelectronic documents to determine the presence of potentiallyinappropriate and unintended word choices;

[0012] Yet a further object of the present invention is to reduce thenumber of intentional but unknowingly inappropriate word choices withinelectronic documents that would otherwise go unnoticed usingconventional word processing document checking tools;

[0013] A related object is to improve the performance of present dayword processing document checking tools by providing an additionalverification tool that confirms the appropriateness of the selectionsmade by such prior art checking tools;

[0014] Another object of the present invention is to permit a user of aword processing program to selectively control the level of sensitivityto be used for determining whether words in an electronic document arepotentially inappropriate;

[0015] Still another object of the present invention is to permit anauthor of an electronic document to have the words of such documentanalyzed and processed by a number of context filters of the author'schoosing to reduce the number of potential inappropriate words in suchdocument.

[0016] These and other objects are achieved by the present inventionwhich includes a word checking software routine (implementable as astand-alone program or integrated with a conventional spell checker)that checks the meaning of words in an electronic document authored by auser. When word-checking for the document is desired by the user, thewords from the document are retrieved one at time, and checked againstentries in an electronic dictionary to determine whether they have aparticular meaning that has been designated as potentially inappropriatefor use in a text document. The determination is made based on comparinga threshold sensitivity level (which can be controlled by the user) withan appropriateness rating found in one or more status fields associatedwith the word. If the word in question has a rating higher than thethreshold set by the user, an alert is provided to indicate such result.

[0017] In another embodiment, multiple status fields are used. Thestatus fields can be used essentially as multiple context filters forassisting an author in reducing the number of potentially inappropriatewords as they may be conveyed to multiple intended audiences. Theratings for the words in any of the status fields can have any range ofvalues and are preferably coded at the time the words are placed intothe electronic dictionary. They can also be modified by the user, later,if desired.

[0018] The present invention is completely integratable with aconventional spell-checking program, so that the spelling of a word canalso be analyzed before its meaning is also checked. When a mis-spelledword is found, a user can select from a list of accurately spelledsubstitute words instead, but such substitute word is also checked tosee if has a meaning that is potentially inappropriate for use in a textdocument.

[0019] Another variation of the present invention permits a user tospecify a set of documents to word-check, and to generate an outputindicating the results of such check.

[0020] In yet another embodiment, the meaning of the words in thedocument are checked during an idle state of the word processingprogram, so that the operation of checking the entire document at theuser's request at a later time can be reduced in time because it willalready have been partially completed.

[0021] To further reduce errors, another embodiment of the presentinvention checks the meanings of words substantially immediate in timeafter they are input into the document by the user. This can ensure thata potential word problem is in fact brought to the user's attentionautomatically and without the need for a further command from the user.

[0022] The electronic dictionary used in the present invention includesa series of records corresponding to words and their associated statusfield values. The data for these records are input in electronic form tocreate a set of words in computer readable form for the dictionary,along with status fields associated for each of such words. Again, asmentioned above, the status fields indicate whether such word has ameaning that is potentially inappropriate for use in a particularcontext. As the dictionary is constituted, any number of status fieldscan be used to correspond to different sensitivity ratings for differenttarget audiences.

[0023] The present invention can be included within a word checkingsoftware module that is itself embodied and transferred in computerreadable form, such as a floppy disk, a hard disk, a CD-ROM, a magnetictape, or a non-volatile semiconductor memory. In this way, a new type ofcomputer system is effectuated which permits an author to perform a wordchecking operation on an electronic text document generated by aconventional word processing program running on such system.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024]FIG. 1 is a simplified block diagram of a word processing systemembodying the teachings of the present invention;

[0025]FIG. 2 is a flow chart illustrating the operation of a documentword checking tool implemented in accordance with the teachings of thepresent invention;

[0026]FIG. 3 is a flow chart illustrating a variation of the presentinvention adapted for checking words in a number of electronic documentsspecified by a user.

DETAILED DESCRIPTION OF THE INVENTION

[0027]FIG. 1 illustrates a physical implementation of a preferredembodiment of a system employing the present invention. A user caninteract with a word processing program 10 loaded in a system memory ofa conventional computing system, such as a personal computer. Suchprograms typically include a spell checking routine or module 20, brokenout visually in the present figure for clarification. The inventiveroutine of the present invention is also illustrated as word checkerroutine or module 30.

[0028] Both spell checking routine 20 and word checker routine 30 haveaccess to and can store/retrieve entries from a standard electronicdictionary 40, which, again, is well-known in the art. It is understood,of course that spell checking routine 20 and word checker routine 30 maybe embedded as one software module of program 10, or alternatively, maybe constituted as separate programs that interacts with program 10 andeach other. Those skilled in the art will appreciate that a number ofseparate modules (i.e., for controlling printing, document loading,etc.) of program 20 are not shown, but they are not material to theteachings of the present invention. A document 40 is also shown, andthis item can be generated and controlled by a user using wordprocessing program 10 in a conventional manner well-known in the art.

[0029] Again, while the present illustration depicts the variousroutines, documents and dictionaries as separate entities, it isunderstood that this is a simplified description intended to convey thekey concepts of the present invention. During normal operation of wordprocessing program 20 these various entities are typically loaded from anon-volatile memory storage device (such as a magnetic hard disk) andthen coexist in a physical and logical sense within the same systemmemory.

[0030] A flowchart of the operation of a preferred embodiment of thepresent invention is depicted in FIG. 2. When word checker routine 30 isinvoked at step 210, it begins to retrieve and analyse words fromdocument 10 in a manner well-known in the art from similar techniquesused in conventional spell-checkers. In one variation spell checkerroutine 20 and word checker routine 30 are “integrated” in the sensethat they are invoked together and inter-operate with each other. Inthis variation, the word from the document is first spell-checked in themanner known in the prior art. For example, if the word is not found inelectronic dictionary 50 at step 220, spell checker routine 20 isinvoked at 225. Again, using conventional techniques, a set of suitablealternative words are presented to a user at step 230 as replacementsfor the unidentified word.

[0031] At this point the method of the present invention is notdifferent in any material fashion from prior art spelling programs. Atstep 235, however, a substantial difference is found in the fact thatthe present invention does not blindly permit the user to select one ofthe alternatives presented at step 230. As mentioned above, there is anon-insignificant chance of error presented when large lists of wordsare presented to users during spell-checking routines. It is altogethertoo easy to select the wrong word, and worse yet, a very inappropriateword. For this reason, at step 235, the word selected by the user isalso checked to see if it is flagged as potentially context restricted.In this manner, errors are further reduced, and an additional level ofaccuracy is achieved.

[0032] In one implementation the information concerning a rating of therestricted status for the word can be stored in an electronic fieldassociated with a record for such word in a dictionary database, asshown in the breakout of the diagram for dictionary 50. Each entry 51 indictionary 50 includes a word and one or more associated status fields(SF₁, SF₂ . . . SF_(n)), which, in its simplest form, can be a singlebit field that is either set or not set, depending on whether the wordhas been previously designated as potentially inappropriate. This statusbit can be set either during the creation of dictionary 40, or at therequest of a user later on, much in the same way new words can be addedto auxiliary or supplemental dictionaries used in conventionalspell-checking programs.

[0033] In another embodiment, status field SF₁ can be allocatedsufficient coding bits so that it may have any one of N possible values,where N represents a rating indicating a relative ranking ofinappropriateness. This feature allows a degree of grading the words ofa vocabulary in shades of grey so to speak, and permits more precisecontrol by the user of the level of inappropriateness that can betolerated within any particular document. For example, using a scalefrom 1-10, words that are known and commonly used in a vulgar oroffensive fashion can be given a 10 value rating, while words that arecommonly understood in only harmless contexts can be given a 1 rating.Other words that are not as fixed in meaning or easily classifiable canbe given value ratings in between this range, again, depending on theircommon usage within a particular target audience. Associated statusfields SF₁, SF₂, etc., can be used to generate different and unique setsof inappropriate words for different intended recipient groups. Whileonly three status fields are shown to simplify the present discussion,it is understood that any number may be used in connection with anelectronic dictionary. For instance, the ratings found in field SF₁ canbe based on word meanings for a typical U.S. based English speakingaudience, while SF₂ might be used to indicate the rating for the sameword for a different target audience (i.e., a different languagespeaking group, a different geographic group within the same country, oran audience with specific sensitivities to certain types of words). Theratings for status fields SF₁, SF₂, SF₃ may be derived from surveyresults, from polling the intended audience populations, from analyzingother published literature materials for such intended groups, fromorganizations specializing in advertising and marketing, etc.

[0034] One advantage of the present invention over the prior art lies inthe fact that the ratings of dictionary words 41 can be pre-programmed,instead of requiring a user to inspect each entry and designate thestatus manually. It is expected that such ratings could be generated bypersons skilled in the art of contemporary language usage, or personshaving particular knowledge or understanding of terminology used inspecific fields, or by specific target audience groups, using some ofthe reference materials (e.g. surveys and the like) describedimmediately above. The words and associated ratings can be put intocomputer readable form at the time of the creation of the dictionary bythe vendor of word processing program 10, or by a supplier of dictionary50 using a conventional database structure with accessible records orthe like.

[0035] It is equally feasible, of course, that an entirely separateelectronic dictionary 50′ may be designated instead for potentiallycontext restricted words. In this kind of approach step 235 merelychecks such separate dictionary 50′ to see if the word has been includedin the class of potentially inappropriate words. In any event, a numberof implementations may be employed for designating potentially offensivewords and the present invention is not limited to any of the examplesshown herein.

[0036] In the event the present invention is not embodied in a routinethat runs concurrently with spell checker routine 20, it is apparentthat steps 220, 235 and 230 would not occur. In other words, in astand-alone implementation where word checker routine 30 is invoked asanother typical word processing tool within document 40, the presentroutine progresses directly from step 215 to step 235 where the word ischecked. The key aspect of the present invention lies in the fact thatthe meaning or substance of words, not simply the spelling of suchwords, are determined and verified. In a preferred embodiment, a user ofword processing program 10 is able to control both: (1) the range ofstatus fields SF₁, SF₂, etc. to be checked, as well as (2) a thresholdlevel value for such field that should be used in determining whether aparticular word should be flagged. These control mechanisms for the usercan take the form of menu choices implemented in well-known fashion intypical contemporary spell-checking programs. In this manner, aparticular user document 40 can be subjected to a variety of language“filters” and with varying levels of sensitivity to provide additionalfunctionality and benefits. For example, some U.S. companies doingbusiness in foreign countries nevertheless communicate and advertise inEnglish to the local population, because of the ever increasing Englishfluency of such countries. Documents intended for such audiences can besubjected to filtering not only for English words that are deemedinappropriate by U.S. citizens, but also which have a negative meaningwhen transliterated into the language of the country in question. Otherusers may find it useful to designate one status field simply as afilter for those words that they know are prone to over-use or misuse toincrease their writing clarity and proficiency. Accordingly, a user ofprogram 10 can decide to utilize any one or more of such filters inconnection with the word checking of document 40, and the selection ofsuch filters can be accomplished in any one of several known ways (i.e.,highlighting desired filters presented in the form of a list, specifyingthem by name, etc.) In addition, the user can also determine (ifdesired) the threshold level of sensitivity to be used during thechecking of words in document 40. In other words, when a particularstatus field SF₁ can have a value ranging from 1 to 10, the user canspecifically indicate that only words having a status field value inexcess of 8 should be considered as potentially inappropriate.

[0037] In one sense, the present invention behaves as a superiorspell-checker, because it catches even correctly spelled words that arenonetheless incorrect (from the user's intent perspective) because theyare based on other words inadvertently mis-spelled originally by theuser. In other words, the user had a word with spelling “xyzzy” in mind,but this word was inadvertently input as “xyyzy.” If“xyyzy” (thetransformed embodiment of“xyzzy”) is nevertheless a word in aspell-checking dictionary, the prior art techniques will never detectthis mistake as a true error, even though it is undesirable from theuser's perspective, and perhaps worse, may lead to significantembarrassment if undetected. By permitting a user to designate sets ofwords that should be screened (even if correctly spelled) the presentinvention affords a significantly higher level of confidence to the userthat documents will be generated error and embarassment free. This kindof tool is especially helpful because of the fact that electroniccommunications occur in rapid fashion, and dissemination of electronicdocuments can take place with little chance or opportunity forcorrecting mistakes.

[0038] In any event, should a match occur for the word in questionindicating that it falls within the parameters of the user'sspecification for what should be flagged as an inappropriate word, analert is given to the user at step 240. The alert can take the form ofhighlighting the word in the text of the document with an accompanyingwarning that can be either visual, audible or both. The alert can alsoindicate the identity of the filter that was triggered by the word whenmore than one status field is used during the word checking process.Again, the precise implementation of the warning is not critical, andany one of many known methods in the art can be used.

[0039] At this point, the user can decide at step 245 whether the wordis truly inappropriate, and if so, the user can provide a substituteword, or override the program to keep the word as is. The substituteword can be provided directly by the user, or a set of suitablealternatives can be presented in the same way conventional spellchecking program 20 provides users with such lists. Again, thissubstitute selection is nevertheless also inspected and verified for itsappopriateness by virtue of the fact that the routine branches back tostep 220. In this manner, the potential for erroneous inclusion ofoffensive or inappropriate language is further minimized.

[0040] In the event the user decides to stick with the word, an optioncan be presented to the user at step 250 for reducing the value of thestatus field for the word so that it will not be identified as apotentially inappropriate word during a subsequent check (unless a lowerthreshold is used of course). This might be desirable, for example, incertain fields of use where ostensibly inappropriate words may benevertheless otherwise acceptable for use in common communications. Atstep 255, therefore, a user can modify the status of the word indictionary 50 or 50′ as the case may be.

[0041] Those skilled in the art will appreciate that the presentinvention can be used in a number of environments where documents areelectronically drafted and have electronic text, including withspreadsheet programs, database programs, e-mail programs, etc. Many ofthese programs have spell-checking capabilities built in, and thepresent invention can piggy-back directly on such capability.

[0042] Moreover the present invention can be used for batch inspectionand verification of electronic documents, as shown in FIG. 3. Instead ofworking directly with an open document 40, for example, an electronicfile to be word checked can instead be specified at step 305 by a user.This type of capability is common in word-processing programs 10 today,and permits a user to select a number of files that are to to undergo aparticular operation without opening them. For example, from the FILEOPEN pulldown option in WORDPERFECT, a print operation can beeffectuated on a user specified list of files. In this same way, thepresent invention as embodied in a word checker routine 30 can operateon a number of files at shown at step 310. As each word is parsed atstep 315, an optional spell checking routine 320 first determines ifthere is mis-spelling of such word, and, if so, tags the word as such atstep 325. If the word is otherwise identifiable because it is indictionary 40 or alternate dictionary 40′, it is context checked at step330 in the manner described above and with the same degree of availablecontrol by the user. Each word identified as potentially inappropriateis flagged and tagged at step 335 before the routine returns to processthe next word. At the end of the file word checking operation, a list ofmis-spelled words and identified potentially misappropriate words isgenerated for the user's review. This list can be displayed visually,generated as a text file, etc. so the user can determine whether thereare potential problems in disseminating such electronic files, and, takecorrective action if necessary.

[0043] It will be apparent to those skilled in the art that the presentinvention can be implemented using any one of many known programminglanguages such as C, C++, Pascal, etc. The details of the specificimplementation of the present word checker will vary depending on theprogramming language used to embody the above principles. Furthermore,while the present discussion has revolved around IBM compatible machinesit is equally clear that the present invention is not limited to suchenvironments and can be used with Apple compatible machines, or for thatmatter with any machine that includes a word processor, includingpersonal digital assistants and similar portable computing devices.

[0044] Yet another variation of the present invention makes use of aconcept disclosed in the Mogilevsky reference discussed above. In thismanifestation, spell checking routine 20 and word checker routine 30(whether integrated or standalone) can be implemented in a well-knownfashion that improves performance by having them operate while there isno interaction going on between the user and word processing program 10.In other words, the routine can take advantage of otherwise idle time bychecking the document and other open documents if the user is notactively engaged in an operation requiring immediate attention by wordprocessing program 20. It is apparent that such variations of thepresent invention could be beneficial in a number of environments.

[0045] Another useful variation of the present invention can beimplemented to take advantage of another well-known concept in the art,and that is the use of “dynamic” text checking. For example, the Travisreference above explains how words can be spell-checked on the fly,i.e., as the user is typing in many conventional word processingprograms. This feature permits a user to enter a word, and then have itchecked while he or she is still typing, and while their attention isstill focused on the document. The spell checking routine 20automatically substitutes the closest choice it finds for commonlymisspelled words; for example, the type word “teh” is changed rapidlyto, “the” while the user is perhaps still entering text. In a similarvein, a dynamic word-checking feature can be implemented, and it will beapparent to those skilled in the art that this approach is merely avariation of the procedure described in FIG. 2, except that the wordsretrieved at step 215, are fetched in a background task which is runningeven while the user is engaged in normal text entry, editing, etc. Fromthe user's perspective, the word-checker routine 30 merely appears as anadd-on verification tool feature to spell-checker 20, with additionalfunctionality and benefits for reducing document errors. To minimizeerrors, the result of the word-check is communicated as quickly aspossible to the user, subject to system performance limitations ofcourse. In any event, with typical computing devices it is expected thatsuch result can be communicated before the user has finished completingdata entry of another word that must be checked as well. In someapplication environments it may be desirable to disable further datainput once it has been determined that a potentially inappropriate wordhas just been entered.

[0046] One environment where the dynamic variation is especially usefulin e-mail systems where people rarely spell-check a text message afterit is composed. Accordingly, the ability to identify and alert usersautomatically of potential errors is particularly helpful in this area.

[0047] In a general sense the present invention can be seen as a usefultool for not only reducing unintentional errors in electronic textdocuments, but also some intentional errors that are not necessarilyunderstood or appreciated by the user of a word processing program 20.In other words, a word input by a user may be classified by in an numberof ways including: (1) an intentional selection that is appropriate; (2)an intentional selection that is inappropriate; (3) an unintentionalselection that is inappropriate; or (4) an unintentional selection thatis appropriate (in the sense that it is perhaps non-offensive even if itis inapposite for the context). Of these classifications, it is clearthat the first category (1) do not require any remedial action. It isequally clear that the category (4) mistakes are perhaps undesirable,but are not easily identifiable, and the computational complexityinvolved in doing so may not be worthwhile. For example, a sentence thatreads “I gave my him jacket” instead of “I gave him my jacket” is notaccurate but is not offensive.

[0048] The present invention, however, is a simple, fast andcost-effective tool that can be used to easily identify the category (2)and (3) errors above. For the category (3) items, it is a rather simplematter as described above to identify and classify entries in anelectronic dictionary with varying status field values reflecting theircommon usage in a particular context. Any number of potentiallyoffensive, crude, vulgar, obscene or inappropriate words are included inan electronic dictionary for the sake of completeness (and for ease ofintegration from text to electronic form) but it is rarely the case thatthey are desired to be used in communication and they can be identifiedby setting the associated status field to a high value. The category (2)items are somewhat more subtle, but it is apparent that some words, evenif consciously selected, may nevertheless be inappropriate because of anumber of cultural considerations, or simply because they are generallymisused by the general population of authors. As an example, aconsiderable amount of attention has been focussed recently in the U.S.on eliminating gender specific vocabulary except where absolutelynecessary. A business entity attempting to sell products or services toa primarily female based clientele may benefit from a word checking toolthat is sensitive to potential gender issues raised by language found indocuments intended to be communicated to such clientele to reduce thepossibility of an miscommunication. Many ethnic groups have particularwords or phrases that are considered inappropriate or offensive by them,even if they otherwise understood as inoffensive by other groups. Forexample, Chevrolet automobiles designated “NOVA” did not sell well inLatin American countries, because the term as translated into Spanishmeans “does not go.” In addition, many foreigners attempting to write inEnglish often confuse homonyms and substitute the wrong word choice (forexample, weather and whether). Similar examples from other fields willbe apparent to those skilled in the art. For any such areas, it would bean easy task for a person skilled in the field of contemporary languageand familiar with such potentially offensive vocabulary in such specificarea to flag such entries in electronic dictionary 50 by using one ofthe associated status fields (SF₁, SF₂, SF_(n), etc.), and/or toassemble and create a separate customized electronic dictionary of wordsthat potentially implicate inappropriate language for a particularaudience. These dictionaries could supplement traditional electronicdictionary 50 and be invoked as needed by a user of word processingprogram 10, so that any one or more of a number of word checkingverifications or document filtrations could be performed depending onthe target audience intended to recieve such document. Such additionaldictionaries, or additional status field values for a particular filter,could be created in a number of ways, including as additionalincorporations in the original dictionary 50, or by the vendor or userof computer program 10 modifying dictionary 50 at a later time.

[0049] Finally, word processing program 10, spell-checking program 20and word-checking program 30 described above can be embodied inwell-known ways in an article of manufacture such as in traditionalcomputer-readable media commonly used to transport such programs. Thesecan include a floppy disk, tape, hard disk, CD-ROM or equivalentnon-volatile storage system. In this format, they can be transportedeasily and loaded via a host computer into system memory for execution.Alternatively in smaller, self-contained environments, such as personaldigital assistants, the above routines can be implemented as part of anon-volatile storage portion of a stand-alone integrated circuit, orembedded as part of a non-volatile storage structure in an architectureof a typical microprocessor or RISC processor. The instructions forcarrying out such routines can be encoded or implemented in a siliconsubstrate as is done with other program ROMs, and using conventionalmanufacturing techniques.

[0050] Although the present invention has been described in terms of apreferred embodiment, it will be apparent to those skilled in the artthat many alterations and modifications may be made to such embodimentswithout departing from the teachings of the present invention.Accordingly, it is intended that the all such alterations andmodifications be included within the scope and spirit of the inventionas defined by the appended claims.

What is claimed is:
 1. A method of checking the meaning of a word in anelectronic document comprising the steps of: retrieving said word to bechecked from said document; determining whether said word has beeninadvertently included in said document and has a particular meaningthat has been designated as potentially inappropriate for use in saiddocument.
 2. The method of claim 1, further including a step ofdesignating words that have a meaning that is potentially inappropriateby changing a value of a status field for such words in an electronicdictionary.
 3. The method of claim 2, wherein the status field for eachof the words can have one of N values, where N>2.
 4. The method of claim2, wherein those words that have a potentially inappropriate meaning canbe identified without input from a user of such electronic dictionary.5. The method of claim 2, wherein an identification of potentiallyinappropriate words can take place at or about the time the electronicdictionary is first generated.
 6. The method of claim 1, furtherincluding a step of generating an alert indicating that such word ispotentially inappropriate.
 7. The method of claim 6, further including astep of permitting a user to change the value of the status flag forsuch word.
 8. The method of claim 1, further including a step ofverifying the spelling of such word.
 9. The method of claim 7, furtherincluding a step of generating a list of substitute words in the eventsuch word is mis-spelled, and if a one of the substitute words isselected in lieu of such word, determining whether the substituted wordhas a meaning that is potentially inappropriate for use in a textdocument.
 10. The method of claim 1, wherein a list of documents ischecked, and a list of potentially inappropriate words in such documentsis generated.
 11. The method of claim 1, wherein said word is checkedsubstantially immediate in time after it is input into said document bya user.
 12. The method of claim 1, wherein said word has a first meaningin a first context, and a second meaning in a second context, andfurther including a step of determining whether said word has aparticular meaning that has been designated as potentially inappropriatefor use in either of the first or second contexts.
 13. The method ofclaim 2, further including a step of specifying a threshold value whichthe status field must exceed in order for said word to be identified aspotentially inappropriate.
 14. A method of permitting a user tosimultaneously check both the spelling and meaning of words in anelectronic document comprising the steps of: [a] retrieving a word to bespell checked and word checked from said document; and [b] determiningwhether said word has been spelled correctly; and [c] when said word hasbeen spelled incorrectly, presenting a first list of alternative wordsto said user as replacements for said word, and permitting said user toselect a first replacement word for said word; and [d] determiningwhether the meaning of said word or replacement word has been designatedas potentially inappropriate for use in a text document; and [e] whensaid word has been designated as potentially inappropriate, presenting asecond list of alternative words to said user as replacements for saidword, and permitting said user to select a second replacement word forsaid word.
 15. The method of claim 14, further including a step (f):permitting said user to select said word, the first replacement word, orthe second replacement word.
 16. The method of claim 14, furtherincluding a step (f): repeating steps [d] and [e] as necessary so that aword is selected that is not designated as potentially inappropriate, orsaid user is permitted to select a word by manual override.
 17. Themethod of claim 14, further including a step of identifying those wordsthat have a meaning that is potentially inappropriate by changing avalue of a status field for such words in an electronic dictionary. 18.The method of claim 17, wherein those words that have a potentiallyinappropriate meaning can be identified without input from a user ofsuch electronic dictionary.
 19. The method of claim 17, wherein anidentification of potentially inappropriate words can take place at orabout the time the electronic dictionary is first generated.
 20. Themethod of claim 14, further including a step of generating an alertindicating that such word is potentially inappropriate.
 21. The methodof claim 14, further including a step of permitting a user to change thevalue of the status flag for such word.
 22. The method of claim 14,wherein said word is checked substantially immediate in time after it isinput into said document by a user.
 23. The method of claim 14, whereinsaid word has a first meaning in a first context, and a second meaningin a second context, and further including a step of determining whethersaid word has a particular meaning that has been designated aspotentially inappropriate for use in either of the first or secondcontexts.
 24. A method of word checking an electronic document generatedby a word processing program under control of a user of said program,said method comprising the steps of: storing word-checking statusinformation for said document, including a table containing potentiallyinappropriate words used in said document; monitoring interactionbetween said user and said word processing program to identify idleediting periods; locating potentially inappropriate words in saiddocument during the idle editing periods, and updating the word checkingstatus information in response thereto as needed.
 25. The method ofclaim 24, wherein the table includes information pertaining to thelocation in said document of any words that are determined to bepotentially inappropriate.
 26. The method of claim 24, wherein a checkof the spelling of such word is also performed.
 27. The method of claim24, wherein said word has a first meaning in a first context, and asecond meaning in a second context, and further including a step ofdetermining whether said word has a particular meaning that has beendesignated as potentially inappropriate for use in either of the firstor second contexts.
 28. The method of claim 24, further including a stepof permitting a user to specify a threshold which must be exceeded inorder for said word to be identified as potentially inappropriate.
 29. Amethod of automatically word checking an electronic document as it isgenerated by a user of a word processing program, comprising the stepsof: monitoring data input by said user during a data input period thatis intended to be included as a word in said document; determiningwhether the word is potentially inappropriate for use in said document;when the word is determined to be potentially inappropriate, alertingsaid user; wherein a result of said word checking is communicated tosaid user with substantially minimal delay after the data input periodfor the word.
 30. The method of claim 29, wherein said result iscommunicated before said user has completed data input during asubsequent data input period intended for a subsequent word to beincluded in said document.
 31. The method of claim 29, wherein when theword is determined to be potentially inappropriate said user isprecluded from inputting additional words in said document untilcorrective action has been taken for such word.
 32. The method of claim29, wherein a check of the spelling of such word is also performed, andwherein the result of this spelling check is communicated to said userwith substantially minimal delay after the data input period for theword.
 33. The method of claim 32, further including a step of generatinga list of substitute words in the event such word is mis-spelled, and ifa one of the substitute words is selected in lieu of such word,determining whether the substituted word has a meaning that ispotentially inappropriate for use in a text document.
 34. The method ofclaim 29, wherein said word has a first meaning in a first context, anda second meaning in a second context, and further including a step ofdetermining whether said word has a particular meaning that has beendesignated as potentially inappropriate for use in either of the firstor second contexts.
 35. The method of claim 29, further including a stepof permitting a user to specify a threshold which must be exceeded inorder for said word to be identified as potentially inappropriate.
 36. Amethod of generating an electronic version of a dictionary comprisingthe steps of: inputting data in electronic form to create a set of wordsin computer readable form for said dictionary; and providing a statusfield associated for each of such words, which status field indicateswhether such word has a meaning that is potentially inappropriate foruse in an electronic document.
 37. The method of claim 36, wherein thestatus field is modifiable, and further including a step of modifyingthe status field in accordance with the meaning of its associated word.38. The method of claim 36, wherein the status field can be modified tohave any one of N possible values, where N>=2, and where N correspondsto a degree of potential inappropriateness for a word associated withsuch status field.
 39. The method of claim 36, wherein each status fieldis associated with the meaning of such word in a first context, andincluding a further step of providing at least one additional statusfield for indicating whether such word has a meaning that is potentiallyinappropriate for use in a second context.
 40. An electronic system forpermitting a user to check the meaning of words in an electronicdocument, said system including: a system memory for storing a wordchecking software module; a processing device for executing the wordchecking software module; wherein the word checking software module isconfigured such that it can perform the following operations: (i)retrieving said words to be checked from said document; (ii) determiningwhether said word has been inadvertently included in said document andhas a particular meaning that has been designated as potentiallyinappropriate for use in said document.
 41. The system of claim 40,further including an electronic dictionary for storing said words, andwherein the word checking software module designates words that have ameaning that is potentially inappropriate by changing a value of astatus field for such words.
 42. The system of claim 41, wherein thestatus field for each of the words can have one of N values, where N>2.43. The system of claim 41, wherein those words that have a potentiallyinappropriate meaning can be identified without input from said user.44. The system of claim 41, wherein an identification of potentiallyinappropriate words can take place at or about the time the electronicdictionary is first generated.
 45. The system of claim 40, wherein theword checking software module is configured such that it can perform theadditional operation of generating an alert indicating that such word ispotentially inappropriate.
 46. The system of claim 45, wherein the wordchecking software module is configured such that it can perform theadditional operation of permitting said user to change the value of thestatus flag for such word.
 47. The system of claim 40, wherein the wordchecking software module is configured such that it can perform theadditional operation of verifying the spelling of said words.
 48. Thesystem of claim 47, wherein the word checking software module isconfigured such that it can perform the additional operation ofgenerating a list of substitute words in the event such word ismis-spelled, and if a one of the substitute words is selected in lieu ofsuch word, determining whether the substituted word has a meaning thatis potentially inappropriate for use in a text document.
 49. The systemof claim 40, wherein the word checking software module is configuredsuch that it can perform the additional operation of checking a set ofdocuments, and generating a list of potentially inappropriate words insuch documents.
 50. The system of claim 40, wherein said word is checkedsubstantially immediate in time after it is input into said document bya user.
 51. The system of claim 40, wherein said word has a firstmeaning in a first context, and a second meaning in a second context,and wherein the word checking software module is configured such that itcan perform the additional operation of determining whether said wordhas a particular meaning that has been designated as potentiallyinappropriate for use in either of the first or second contexts.
 52. Thesystem of claim 40, wherein the word checking software module isconfigured such that it can perform the additional operation ofspecifying a threshold value which the status field must exceed in orderfor said word to be identified as potentially inappropriate.
 53. Anarticle of manufacture comprising: an electronic dictionary including aset of words and an associated status field for each of the words forindicating a level of potential inappropriateness for such word whenused in an electronic text document; a word checking routine executableby a computing device and for checking whether words in the electronictext document are inadvertently included, and which routine isconfigured to perform the following operations: [a] retrieving a word tobe word checked from an electronic text document; and [b] accessing theelectronic dictionary to determine whether the level of potentialinappropriateness of such word exceeds a threshold value specified forsuch document; and wherein the electronic dictionary and word checkingroutine are embodied in a computer readable media.
 54. The article ofclaim 53, further including a spell checking routine for determiningwhether such word has been spelled correctly.
 55. The article of claim54, wherein the spell checking routine also presents a first list ofalternative words as replacements for the word when it is mis-spelled,and permits a first replacement word to be substituted for the word. 56.The article of claim 55, wherein the word checking routine is alsoconfigured to determine whether the meaning of the replacement wordexceeds the threshold value for such document.
 57. The article of claim53, wherein the word checking routine is also configured to permit auser of the routine to change the value of a status field for any wordsin the electronic dictionary.
 58. The article of claim 53, wherein theword checking routine is also configured to check words substantiallyimmediate in time after they are input into the document by a user. 59.The article of claim 53, wherein the electronic dictionary has a firststatus field for indicating a level of appropriateness for a word in afirst context, and a second status field for indicating a level ofappropriateness for such word in a second context, and the word checkingroutine is configured to check whether any words have a particularmeaning that has been designated as potentially inappropriate for use ineither of the first or second contexts.
 60. The article of claim 53,wherein the computer readable media includes any of the following: afloppy disk, a hard disk, a CD-ROM, a magnetic tape, or a non-volatilesemiconductor memory.
 61. A system for permitting a user to check themeaning of words in an electronic document, said system including: acomputer readable storage structure for storing a word checking softwaremodule, such module being incorporated as part of a word processingprogram that can be executed by a computer processing device; whereinthe word checking software module is configured such that when it isexecuted by the computer processing device it can perform the followingoperations: (i) retrieving said words to be checked from said document;(ii) determining whether said word is inadvertently included and has aparticular meaning that has been designated as potentially inappropriatefor use in said document.
 62. The system of claim 61, further includingan electronic dictionary for storing said words, and wherein the wordchecking software module designates words that have a meaning that ispotentially inappropriate by changing a value of a status field for suchwords.
 63. The system of claim 62, wherein the status field for each ofthe words can have one of N values, where N>2.
 64. The system of claim61, wherein the word checking software module is configured such that itcan perform the additional operation of generating an alert indicatingthat such word is potentially inappropriate.
 65. The system of claim 61,wherein the word checking software module is configured such that it canperform the additional operation of permitting said user to change thevalue of the status flag for such word.
 66. The system of claim 61,wherein the word checking software module is configured such that it canperform the additional operation of verifying the spelling of saidwords.
 67. The system of claim 66, wherein the word checking softwaremodule is configured such that it can perform the additional operationof generating a list of substitute words in the event such word ismisspelled, and if a one of the substitute words is selected in lieu ofsuch word, determining whether the substituted word has a meaning thatis potentially inappropriate for use in a text document.
 68. The systemof claim 61, wherein the word checking software module is configuredsuch that it can perform the additional operation of checking a set ofdocuments, and generating a list of potentially inappropriate words insuch documents.
 69. The system of claim 61, wherein said word is checkedsubstantially immediate in time after it is input into said document bya user.
 70. The system of claim 61, wherein said word has a firstmeaning in a first context, and a second meaning in a second context,and wherein the word checking software module is configured such that itcan perform the additional operation of determining whether said wordhas a particular meaning that has been designated as potentiallyinappropriate for use in either of the first or second contexts.
 71. Thesystem of claim 61, wherein the word checking software module isconfigured such that it can perform the additional operation ofspecifying a threshold value which the status field must exceed in orderfor said word to be identified as potentially inappropriate.
 72. Anelectronic dictionary embodied in computer readable form for use in aword processing program, said dictionary including: a set of wordsrepresented in computer readable form; a status field associated foreach of such words, which status field facilitates a determination ofwhether such word, when inadvertently included in an electronicdocument, has a meaning that is potentially inappropriate for use insuch document.
 73. The dictionary of claim 72, wherein the status fieldis modifiable.
 74. The dictionary of claim 73, wherein the status fieldhas one of N possible values, where N>2, and where N corresponds to adegree of potential inappropriateness for a word associated with suchstatus field.
 75. The dictionary of claim 73, wherein each status fieldis associated with the meaning of such word in a first context, andincluding at least one additional status field for indicating whethersuch word has a meaning that is potentially inappropriate for use in asecond context.
 76. A method of checking the meaning of a word in anelectronic document comprising the steps of: retrieving said word to bechecked from said document; determining whether said word has aparticular meaning that is likely to be offensive to persons intended toread such text document.
 77. The method of claim 76, further including astep of designating words that have a meaning that is likely to beoffensive by changing a value of a status field for such words in anelectronic dictionary.
 78. The method of claim 77, wherein the statusfield for each of the words can have one of N values, where N>2.
 79. Themethod of claim 76, further including a step of generating an alertindicating that such word is likely to be offensive.
 80. The method ofclaim 76, further including a step of verifying the spelling of suchword.
 81. The method of claim 80, further including a step of generatinga list of substitute words in the event such word is mis-spelled, and ifa one of the substitute words is selected in lieu of such word,determining whether the substituted word has a meaning that is likely tobe offensive.
 82. The method of claim 76, wherein said word is checkedsubstantially immediate in time after it is input into said document bya user.